package com.mes.biz.mapper;

import com.mes.biz.domain.BizCustomerPayableDetail;
import com.mes.biz.domain.vo.ExportStatementDetail;
import com.mes.common.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 客户应收账款明细Mapper接口
 * @author hwg
 * @email hwg
 * @date 2023-04-30
 */
public interface BizCustomerPayableDetailMapper extends BaseMapper<BizCustomerPayableDetail> {

    List<BizCustomerPayableDetail> getBizCustomerPayableDetailByCustomerId(@Param("customerId") String customerId);

    List<BizCustomerPayableDetail> getByCustomerId(BizCustomerPayableDetail bizCustomerPayableDetail);

    List<BizCustomerPayableDetail> getBizCustomerPayableDetailByAccountCode(@Param("accountCode") String accountCode, @Param("type") String type);

    public int deleteByOderProductId(@Param("orderProductId") String orderProductId, @Param("orderNumber") String orderNumber, @Param("DEL_FLAG_DELETE") String DEL_FLAG_DELETE);

    public int updateAccountCode(@Param("ids") String[] ids);

    public BizCustomerPayableDetail getInfoByOrderProductId(@Param("orderProductId") String orderProductId, @Param("orderNumber") String orderNumber);

    public List<BizCustomerPayableDetail> checkAccountCodeByOrderNumber(@Param("orderNumber") String orderNumber);

    List<ExportStatementDetail> exportStatement(@Param("ids") String[] ids);

    BizCustomerPayableDetail getByAfterSaleOrderId(@Param("afterSaleOrderId") String afterSaleOrderId);

    /**
     * 查询收款数据
     * @return
     */
    Map<String, Object> getIncomeDataByToday();
}
